﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenTK;
using OpenTK.Graphics.OpenGL4;
using SDL3;
using 飞机大战.core;
using 飞机大战.shader;

namespace 飞机大战.scene
{
    internal partial class BackgroundDots : IObject
    {
        private float[]? dots_;

        private int totalPoints = 0;

        private Random random = new Random();

        private float totalNS = 0f;

        private DotShader.Shader? shader_ = null;

        private int _vertexArrayObject;

        private int _vertexBufferObject;

        protected Game game = Game.GetInstance();

        private partial float[] SparsePointGenerator(int width, int height, double density);
        private partial void MoveSparsePoint(SDL.FPoint fPoint);

        private unsafe partial void UpdatePointBuffer();

        public partial void Init();
        public partial void Clean();

        public partial void HandleEvents(SDL.Event event_);

        public partial void Render();

        public partial void Update(float dt);
    }
}
